package com.atguigu.principle.singleresponsibility.liskov.improve;

/**
 * @Author: yangtao
 * @Description:
 */
public class liskov {

    public static void main(String[] args) {
      A a = new A();
      System.out.println("11-3=" + a.func1(11,3));
      System.out.println("1-8=" + a.func1(1,8));


      B b = new B();
      System.out.println("11+3="+ b.func1(11,3));
      System.out.println("1+8="+ b.func1(1,8));
    }
}

//创建一个更加基础的基本类
class  Base{
    //把基础的方法和成员写到Base
}

//A类
 class A extends Base{
    //返回两个数的差
    public int func1(int num1, int num2){
        return num1 - num2;
    }
 }

//B类集成A类 增加了一个新功能 完成两个数相加
//然后和9求和
class B extends Base {
    //如果B使用到A类的方法,使用组合
    private  A a = new A();
   public int func1(int a, int b){
       return a + b;
   }
   public int func2(int a, int b){
       return func1(a,b) + 9;
   }

   //使用A方法
    public  int func3(int a, int b){
       return this.a.func1(a,b);
    }
}